Data storage devices electronically store information for later retrieval in a memory. Data is programmed, or written, into a memory using one or more drivers, which provide electronic signals causing individual cells within the memory to acquire a particular state. To determine what data is stored in a memory, the state of the individual cells is determined, and signals representing the state are generated.
Some memory technologies present to the drivers an electrical load, which varies according to the data being written. Because the load varies, the drivers must be designed and manufactured so as to be able to drive the maximum possible load.
Accordingly, conventional data drivers are overdesigned. As a result, conventional data drivers are larger and require more power than is necessary.
In addition, in memory technologies whose load is data dependent, the effectiveness of programming is also data dependent. As a result, when the data being written causes a small load to be presented, the individual cells being written may be overprogrammed. Likewise, when the data being written causes a large load to be presented, the individual cells being written may be underprogrammed.